package com.pt25.service.sys.application;

import com.pt25.base.model.security.UserSession;
import com.pt25.base.util.PageUtil;
import com.pt25.service.sys.domain.admin.ddo.AdminPermission;
import com.pt25.service.sys.domain.admin.ddo.AdminRole;
import com.pt25.service.sys.domain.admin.ddo.AdminUser;
import com.pt25.service.sys.interfaces.vo.admin.permission.AdminPermissionGetVo;
import com.pt25.service.sys.interfaces.vo.admin.permission.AdminPermissionTreeVo;

import java.util.List;

public interface AdminApp {
    UserSession createSessionData(AdminUser adminUser);
    void addAdminUser(AdminUser adminUser);
    void delAdminUser(Long id);
    void updateAdminUser(AdminUser adminUser);
    AdminUser getAdminUser(Long id);
    PageUtil.PageVo pageAdminUser(AdminUser adminUser);
    void addAdminRole(AdminRole adminRole);
    void delAdminRole(Long id);
    void updateAdminRole(AdminRole adminRole);
    AdminRole getAdminRole(Long id);
    PageUtil.PageVo pageAdminRole(AdminRole adminRole);
    void addAdminPermission(AdminPermission adminPermission);
    void delAdminPermission(Long id);
    void updateAdminPermission(AdminPermission adminPermission);
    AdminPermissionGetVo getAdminPermission(Long id);
    List<AdminPermissionTreeVo> treeAdminPermission();
}
